Sophisticated computer systems are required for almost every aspect of safely or comfortably operating an aircraft, as well as other transportation and cargo vehicles. Traditionally, each computer system relied on its own hardware and software to accomplish its functionality. The allocation of computing resources is static because with separate systems, there is no way to share computing resources. As concerns about the cost of fuel and the environment have grown, the ubiquitous challenge of weight reduction has taken on increased importance. Consolidating computer systems to use common hardware has the desired effect of reducing the amount of weight attributable to computers while allowing the sharing of computing resources. However, allocating of the common computing resources has until now been static. Meaning that each aviation electronics (avionics) application is allocated a certain amount of computing resources when that application is added to the system. Static allocation is done because of the need to provide burst capacity for an application. Namely, computing resources are allocated to an application based on the maximum predicted amount of computing resources that the application will need in the future. This static allocation results in overcapacity because all applications do not use all of their allocated resources all of the time. Rather some applications are quiescent for periods of time followed by a burst of activity depending on the operating conditions at the time, while other applications use a consistent, if moderate amount of their allocated resources all of the time.
The present invention overcomes one or more of these problems.